package com.gdut.simple.presenter.user;

import com.gdut.simple.common.RequestCallback;
import com.gdut.simple.contract.UpdateInfoContract;

public class UpdateInfoPresenter implements UpdateInfoContract.Presenter {

    private UpdateInfoContract.View mUpdateView;

    public UpdateInfoPresenter(UpdateInfoContract.View view) {
        this.mUpdateView = view;
        this.mUpdateView.setPresenter(this);
    }

    @Override
    public void update(UpdateInfoContract.UpdateStrategy strategy) {
        if (!mUpdateView.isLogin()) {
            mUpdateView.showMessage("未登陆");
            return;
        }
        mUpdateView.showProgress("修改中...");
        strategy.update(mUpdateView.getUser(), mUpdateView.getValue(), new RequestCallback<String>() {
            @Override
            public void onSuccess(String s) {
                mUpdateView.hideProgress();
                mUpdateView.showMessage(s);
                mUpdateView.next();
            }

            @Override
            public void onFailure(String message) {
                mUpdateView.hideProgress();
                mUpdateView.showMessage(message);
            }
        });
    }
}
